The present invention relates generally to communication systems and more particularly to voice messaging systems for use in communication switches or other types of call processing devices.
Many different types of switches or other call processing devices incorporate voice messaging capabilities. For example, private branch exchange (PBX) switches may be configured to provide such capabilities. The voice messaging systems implemented in these and other types of call processing devices are often designed to utilize two separate processors. In a typical arrangement, one of the processors is used for applications execution and file system management, while the other processor is used to implement signal processing functions, such as, for example, voice coding, tone detection and tone generation. A hard drive is generally used for storing compressed voice data files, such as voice messaging system prompts and recorded voice messages.
A significant problem with these and other conventional voice messaging systems is that the two separate processors and the hard drive generally must be built into the same call processing device, which unduly increases the cost and complexity of the device. In addition, there is generally no mechanism provided for allowing a user to add or drop easily the voice messaging capability of a given call processing device once that device has been purchased and installed. Similar factors can render the device hardware difficult to upgrade to reflect improvements in memory and processing capabilities, without replacing the entire device.
Another approach which has been used to provide voice messaging capability in a call processing device is simply to plug a conventional answering machine into a device which has no built-in voice messaging capability. Although this can overcome some of the problems associated with integrating a voice messaging system into the call processing device, conventional answering machines are generally unable to provide the more sophisticated features commonly associated with integrated voice messaging systems.
A need therefore exists for an improved voice messaging system which provides a substantially more flexible implementation than the above-noted conventional approaches, and which can operate with a wide variety of different types of call processing devices.
The invention provides a voice messaging system implemented at least in part using a card, such as a card configured in accordance with the Personal Computer Memory Card International Association (PCMCIA) standard, which can be inserted in a socket in a private branch exchange (PBX) switch or other type of call processing device. The card includes a processor operative to implement various voice messaging system functions, and a memory for storing voice data used in the voice messaging system. The card processor may be used to perform signal processing, application execution and file system management functions of the voice messaging system. The host call processing device has a socket adapted to receive the card. The card receives voice data from the host call processing device for storage in the memory, and delivers voice data retrieved from the memory to the host call processing device.
In accordance with another aspect of the invention, voice data is communicated between the card and the host over a custom full duplex serial bus which includes input and output time division multiplexed voice data lines, each divided into a plurality of time slots, with each of the time slots providing a distinct voice data channel at a designated bit rate. For example, the serial bus may operate at a clock rate of about 2 MHz, with the time-division multiplexed voice data lines each including 32 time slots, each with a bit rate of about 64 kbps. The serial bus may be configured to include a multiplexer which allows the voice data to be transferred over address lines of a standard PCMCIA interface between the card and the host call processing device.
A card-based voice messaging system in accordance with the invention can be used to implement additional features such as dynamic allocation of voice mail boxes and dynamic language selection. For example, the card processor can implement a memory allocation function which allows a user to define the number of voice mail boxes supported by the voice messaging system, and/or the amount of memory which is allocated to each of the mail boxes. The processor can also implement a language selection function which allows a user to select one of a set of languages that are supported by the card-based voice messaging system. In this case, the card memory can store information in each of the set of languages, and when the user selects a given one of the languages, the portion of the memory that contains information in the unselected languages can be automatically re-allocated for use as voice mail box storage.